Targeting based on intent or presence

ABSTRACT

Methods, systems, and apparatus, including computer programs encoded on a computer-readable storage medium, for campaign management. A method includes: presenting a user interface to a sponsor for customizing targeting information for a campaign including a control for specifying targeting criteria, where at least one targeting criterion includes a presence of a user in a prescribed geographic location or an indication of an interest by a user in the location; receiving a selection from the sponsor of targeting criteria to be associated with the campaign including a selection of one or both of user presence and interest; evaluating content delivery options for presenting content associated with the campaign including determining for a given content request whether a user is present or merely interested in a geographic location; and serving content from the campaign when a content item request satisfies the targeting criteria for the campaign.

RELATED APPLICATION

This application is a continuation application of, and claims priorityto, U.S. application Ser. No. 13/306,513, entitled TARGETING BASED ONINTENT OR PRESENCE, filed on Nov. 29, 2011. The disclosure of theforegoing application is incorporated herein by reference in itsentirety.

BACKGROUND

This specification relates to content management.

The Internet provides access to a wide variety of resources. Forexample, video and/or audio files, as well as web pages for particularsubjects or particular news articles, are accessible over the Internet.Access to these resources presents opportunities for other content(e.g., advertisements) to be provided with the resources. For example, aweb page can include slots in which content can be presented. Theseslots can be defined in the web page or defined for presentation with aweb page, for example, along with search results.

Slots can be allocated to content sponsors through a reservation systemor an auction. For example, content sponsors can provide bids specifyingamounts that the sponsors are respectively willing to pay forpresentation of their content. In turn, a reservation can be made or anauction can be performed, and the slots can be allocated to sponsorsaccording, among other things, to their bids and/or the relevance of thesponsored content to content presented on a page hosting the slot or arequest that is received for the sponsored content.

SUMMARY

In general, one innovative aspect of the subject matter described inthis specification can be implemented in methods that include a methodfor providing content. The method comprises: presenting a user interfaceto a campaign sponsor for customizing targeting information for acampaign including a user selectable control for specifying one or moretargeting criteria, where at least one targeting criterion includes apresence of a user in a prescribed geographic location or an indicationof an interest by a user in the prescribed geographic location;receiving a selection from the campaign sponsor of one or more targetingcriteria to be associated with the campaign including a selection of oneor both of user presence and interest; evaluating content deliveryoptions for presenting content associated with the campaign includingdetermining for a given content request whether a user is present ormerely interested in a geographic location; and serving content from thecampaign when a content item request satisfies the targeting criteriafor the campaign.

These and other implementations can each optionally include one or moreof the following features. Determining whether a user is present ormerely interested in the geographic location can include evaluating oneor more user signals. The user signals can include one or more of an IPaddress of a client device that submitted the content item request, alocation-based signal available to the client device, one or morelocation-related terms associated with the content item request, a timethat the content item request was submitted, a mode of the user, wherethe mode is selected from at work, home, or away, and locationinformation describing a location that was presented in a mapapplication viewport on the client device at the time the content itemrequest was submitted.

In general, another aspect of the subject matter described in thisspecification can be implemented in methods that include a method forserving content. The method comprises: enabling a content item sponsorto target content to users based on whether a content item request isassociated with a user at a particular location or is associated with auser that has expressed an interest in the particular location,including enabling a content sponsor to exclude presentation of theircontent for at least one of these types of requests, where enablingincludes receiving a presence/interest specification from the contentitem sponsor for a campaign; evaluating a received content item requestto determine a likelihood that the user is at a given location;evaluating the received content item request to determine a likelihoodthat the user is merely interested in the given location but is notphysically present at the given location; and providing content from acontent sponsor in response to the received content item request only iftargeting criteria for the campaign match the request includingsatisfying a presence/interest specification from a respective contentitem sponsor for the campaign.

These and other implementations can each optionally include one or moreof the following features. Evaluating a received content item requestcan include determining a geographic location associated with therequest. Determining the geographic location can be based on locationbased services. Determining the geographic location can be based on anIP address associated with the request. The likelihood that a user is ata given location can be expressed in terms of a probability. Theprobability can be above a first threshold. The likelihood that a useris merely interested in the given location can be expressed in terms ofa probability. The probability can be above a second threshold. Themethod can include tracking details of how each content delivery by acontent delivery service satisfied the content sponsor'spresence/interest specification. The method can include, for eachdelivered content item, determining performance information for arespective content item for when the content item was provided based onthe user being at a given location and when the content item wasprovided based on the user being interested in but not physicallypresent at the given location. The performance information can includeclick through rate and conversion information. The method can includeproviding to the content sponsor a report that includes the trackeddetails and the performance information for a time interval. The reportcan include one or more controls which enable the content sponsor tooptimize the campaign based on the performance information. The methodcan include automatically optimizing the campaign based on theperformance information. Optimizing can include splitting the campaigninto a first campaign with a first presence/interest specificationcorresponding to targeting users who are at a given location and asecond campaign with a second presence/interest specificationcorresponding to targeting users who have expressed an interest in agiven location. A first bid associated with the first campaign can bedifferent than a second bid associated with the second campaign.Optimizing can include splitting a campaign into multiple campaignsbased on location information.

In general, another aspect of the subject matter described in thisspecification can be implemented in computer program products thatinclude a computer program product tangibly embodied in acomputer-readable storage device that comprises instructions that, whenexecuted by a processor, cause the processor to perform operations. Theoperations include: presenting a user interface to a campaign sponsorfor customizing targeting information for a campaign including a userselectable control for specifying one or more targeting criteria, whereat least one targeting criterion includes a presence of a user in aprescribed geographic location or an indication of an interest by a userin the prescribed geographic location; receiving a selection from thecampaign sponsor of one or more targeting criteria to be associated withthe campaign including a selection of one or both of user presence andinterest; evaluating content delivery options for presenting contentassociated with the campaign including determining for a given contentrequest whether a user is present or merely interested in a geographiclocation; and serving content from the campaign when a content itemrequest satisfies the targeting criteria for the campaign.

These and other implementations can each optionally include one or moreof the following features. Determining whether a user is present ormerely interested in the geographic location can include evaluating oneor more user signals. The user signals can include one or more of an IPaddress of a client device that submitted the content item request, alocation-based signal available to the client device, one or morelocation-related terms associated with the content item request, a timethat the content item request was submitted, a mode of the user, wherethe mode is selected from at work, home, or away, and locationinformation describing a location that was presented in a mapapplication viewport on the client device at the time the content itemrequest was submitted. Evaluating content delivery options can includereceiving a request and evaluating whether the request is associatedwith a user at a location or merely interested in the location.Evaluating content delivery options can include evaluating a receivedcontent item request including determining a geographic locationassociated with the request. Determining the geographic location can bebased on location based services. Determining the geographic locationcan be based on an IP address associated with the request. Evaluatingcontent delivery options can include determining a likelihood that auser is at a given location in terms of a probability, where theprobability is above a first threshold. Evaluating content deliveryoptions can include determining a likelihood that a user is merelyinterested in a given location in terms of a probability, where theprobability is above a second threshold.

In general, another aspect of the subject matter described in thisspecification can be implemented in systems that include a systemcomprising a content delivery system and a campaign management userinterface. The campaign management user interface can include a userselectable control for specifying one or more targeting criteria, whereat least one targeting criterion includes a presence of a user in aprescribed geographic location or at least one targeting criterionincludes an indication of an interest by a user in the prescribedgeographic location. The campaign management user interface can beconfigured to receive a selection from a campaign sponsor of one or moretargeting criteria to be associated with the campaign including aselection of one or both of user presence and interest. The contentdelivery system can be configured to: evaluate content delivery optionsfor presenting content associated with the campaign includingdetermining for a given content request whether a user is present ormerely interested in a geographic location; and serve content from thecampaign when a content item request satisfies the targeting criteriafor the campaign.

These and other implementations can each optionally include one or moreof the following features. Determining whether a user is present ormerely interested in the geographic location can include evaluating oneor more user signals. The user signals can include one or more of an IPaddress of a client device that submitted the content item request, alocation-based signal available to the client device, one or morelocation-related terms associated with the content item request, a timethat the content item request was submitted, a mode of the user, wherethe mode is selected from at work, home, or away, and locationinformation describing a location that was presented in a mapapplication viewport on the client device at the time the content itemrequest was submitted.

Particular implementations may realize one or more of the followingadvantages. A campaign sponsor can be enabled to target content to usersbased on whether a content item request is associated with a user at aparticular location or is associated with a user that has expressed aninterest in the particular location. A campaign sponsor can receive areport that indicates which content items were served based on anassociated user being at a given location and which content items wereserved based on an associated user being interested in the givenlocation but not physically present at the given location. A contentcampaign can be automatically optimized based on tracked informationwhich indicates, for multiple content item requests, whether respectivecontent items were served based on the user associated with the requestbeing at a given location or interested in but not physically present atthe location.

The details of one or more implementations of the subject matterdescribed in this specification are set forth in the accompanyingdrawings and the description below. Other features, aspects, andadvantages of the subject matter will become apparent from thedescription, the drawings, and the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of an example environment for providingcontent to a user.

FIG. 2 illustrates an example system for serving content.

FIGS. 3A-3C illustrate example controls for specifying apresence/interest specification.

FIG. 4 is a flowchart of an example process for serving content.

FIG. 5 is a flowchart of an example process for providing content to auser.

FIG. 6 is a block diagram of computing devices that may be used toimplement the systems and methods described in this document, as eithera client or as a server or plurality of servers.

Like reference numbers and designations in the various drawings indicatelike elements.

DETAILED DESCRIPTION

A user interface can be presented to a campaign sponsor for customizingtargeting information for a campaign. The user interface can include auser selectable control for specifying one or more targeting criteria,where at least one targeting criterion includes a presence of a user ina prescribed geographic location or an indication of an interest by auser in the prescribed geographic location. A selection can be receivedfrom the campaign sponsor of one or more targeting criteria to beassociated with the campaign including a selection of one or both ofuser presence or/and interest. In response to a received content requestfor a user, a content management system can determine whether the useris present or merely interested in a geographic location, and based onthe determination, content from the campaign can be served when acontent item request satisfies the targeting criteria for the campaign,including satisfying the user presence criterion and/or the interestcriterion.

For situations in which the systems discussed here collect personalinformation about users, the users may be provided with an opportunityto opt in/out of programs or features that may collect personalinformation (e.g., information about a user's preferences or a user'scurrent location). In addition, certain data may be anonymized in one ormore ways before it is stored or used, so that personally identifiableinformation is removed. For example, a user's identity may be anonymizedso that no personally identifiable information can be determined for theuser, or a user's geographic location may be generalized where locationinformation is obtained (such as to a city, zip code, or state level),so that a particular location of the user cannot be determined.

FIG. 1 is a block diagram of an example environment 100 for providingcontent to a user. The example environment 100 includes a network 102,such as a local area network (LAN), a wide area network (WAN), theInternet, or a combination thereof. The network 102 connects websites104, user devices 106, content providers 108, publishers, and a contentmanagement system 110. The example environment 100 may include manythousands of websites 104, user devices 106, and content providers 108.The content management system 110 may be used for selecting andproviding content in response to requests for content. The contentproviders 108 can be, for example, advertisers. Other types of contentproviders are possible.

A content provider 108 can create a content campaign using toolsprovided by the content management system 110. For example, the contentmanagement system 110 can provide one or more account management userinterfaces for creating and managing content campaigns. The accountmanagement user interfaces can be made available to the content provider108, for example, either through an online interface provided by thecontent management system 110 or as an account management softwareapplication installed and executed locally at a content provider'sclient device.

The content provider 108 can, using the account management userinterfaces, provide campaign parameters 111 which define a contentcampaign. The campaign parameters 111 can be stored in a parameters datastore 112. Campaign parameters 111 can include, for example, a campaignname, a preferred content network for placing content, a budget for thecampaign, start and end dates for the campaign, a schedule for contentplacements, content (e.g., a creative), and targeting criteria.Targeting criteria can include, for example, a targeted language, one ormore targeted geographical locations, and a presence/interestspecification.

One account management user interface can include one or more controlsfor specifying targeting criteria, such as a control that is used tospecify the presence/interest specification. The presence/interestspecification indicates whether the content provider 108 desires totarget users based on a presence of a user in a prescribed geographiclocation, based on an indication of an interest by a user in theprescribed geographic location, or both. A campaign can be created andactivated for the content provider 108 according to the parameters 111specified by the content provider 108.

A website 104 includes one or more resources 105 associated with adomain name and hosted by one or more servers. An example website 104 isa collection of web pages formatted in hypertext markup language (HTML)that can contain text, images, multimedia content, and programmingelements, such as scripts. Each website 104 can be maintained by acontent publisher, which is an entity that controls, manages and/or ownsthe website 104.

A resource 105 can be any data that can be provided over the network102. A resource 105 can be identified by a resource address that isassociated with the resource 105. Resources 105 include HTML pages, wordprocessing documents, portable document format (PDF) documents, images,video, and news feed sources, to name only a few. The resources 105 caninclude content, such as words, phrases, images and sounds, that mayinclude embedded information (such as meta-information hyperlinks)and/or embedded instructions (such as JavaScript scripts).

To facilitate searching of resources 105, the environment 100 caninclude a search system 113 that identifies the resources 105 bycrawling and indexing the resources 105 provided by the contentpublishers on the websites 104. Data about the resources 105 can beindexed based on the resource 105 to which the data corresponds. Theindexed and, optionally, cached copies of the resources 105 can bestored in an indexed cache 114.

A user device 106 is an electronic device that is under control of auser and is capable of requesting and receiving resources 105 over thenetwork 102. Example user devices 106 include personal computers, mobilecommunication devices (e.g., smartphones), and other devices that cansend and receive data over the network 102. A user device 106 typicallyincludes one or more user applications, such as a web browser, tofacilitate the sending and receiving of data over the network 102.

A user device 106 can request resources 105 from a website 104. In turn,data representing the resource 105 can be provided to the user device106 for presentation by the user device 106. User devices 106 can alsosubmit search queries 116 to the search system 113 over the network 102.

Some search queries 116 can be submitted using a map application. Thesearch system 113 can, for example, provide a map application which canpresent a search control along with a viewport for use in presentinglocation data. A map showing a particular location can be presented inthe viewport and the user can enter one or more query terms using thesearch control.

In response to a search query 116, the search system 113 can access theindexed cache 114 to identify resources 105 that are relevant to thesearch query 116. The search system 113 identifies the resources 105 inthe form of search results 118 and returns the search results 118 to theuser devices 106 in one or more search results pages. In someimplementations, a search result 118 is data generated by the searchsystem 113 that identifies a resource 105 that is responsive to aparticular search query 116, and includes a link to the resource 105. Anexample search result 118 can include a web page title, a snippet oftext or a portion of an image extracted from the web page, and the URL(Unified Resource Location) of the web page.

The search system 113 or the content information system 110 can updateusage information 124 based on user activities, such as requests forresources 105, search queries 116, other requests for content, web sitesvisited, or interactions with content. In some implementations, theusage information 124 can be derived, for example, from one or more of asearch query log, an advertisement log, or requests for content. Theusage information 124 can include, for each entry, a timestamp, an IP(Internet Protocol) address associated with a requesting user device106, a type of usage, a location of interest associated with theactivity (if any), the location of the user when the activity occurred,and other details associated with the usage.

The usage information 124 can be used for various purposes, such as todetermine targeting information. For example, targeting information canbe determined for a particular location, such as to target users whoappear to be traveling to or are physically located in the particularlocation or who have otherwise expressed an interest in the particularlocation. For example, the content management system 110 can determinetargeting information for a location based on historical informationthat matches a pattern of users that have traveled to or planned travelto the particular location.

After targeting information has been determined for a particularlocation, a request for content can be received from a user. The requestfor content can be, for example, a request for a resource 105 or asearch query 116 from a user device 106. The content management system110 can determine whether the user is present or merely interested in ageographic location associated with the request. For example, searchquery terms associated with the request may include or indicate alocation of interest. For example, search query terms may include a zipcode, a city name, or an address. As another example, a search queryterm of “Golden Gate Bridge” may indicate a location of “San Francisco”.A location of interest can also be determined based on locationinformation associated with a location displayed in a map viewport atthe time the request was submitted.

The content management system 110 can determine the location of the userat the time of submission of a request for content, based, for example,on an IP address of a user device 106 that submitted the request. Asanother example, the user device 106 can determine the location of theuser using a location based service (e.g., a GPS (Global PositioningSystem) service) and can communicate the location to the search system113 and/or the content management system 110. A user's location can alsobe determined based on a mode (e.g., home, work, away) of the user,which may be determined based on the day and/or time of the request. Insome implementations, the content management system 110 can determinewhether the user is traveling to the location, such as by comparing thelocation of the user to a home location associated with the user.

The content management system 110 can serve content from the campaign tothe requesting user device 106 when the content item request satisfiesthe targeting criteria for the campaign, such as if the content itemrequest satisfies the presence/interest specification. For example, ifthe presence/interest specification indicates that the content provider108 desires to target users who are present at one or more particularlocations and if the content management system 110 determines that theuser is located at one of the particular locations, the contentmanagement system 110 can serve content to the user. As another example,the content management system 110 can serve content if thepresence/interest specification indicates that the content provider 108desires to target users who have expressed interest in one or moreparticular locations and the content management system 110 determinesthat the user has expressed an interest in one or more of the particularlocations. The content management system 110 can provide content to theuser based at least in part on particular targeting informationpreviously determined from the usage information 124.

The content management system 110 can use other criteria to selectcontent items to provide in response to the request. For example, therequest for content can include characteristics (e.g., size, supportedmedia types) of one or more content “slots” that are defined for therequested resource 105 or search results page. As another example,resource keywords associated with a requested resource 105 or a searchquery 116 can be provided to the content management system 110. Contentitems selected by the content management system 110 can include contentitems having characteristics matching the characteristics of contentslots and that are identified as relevant to specified resource keywordsor search queries 116. For example, content items having targetingkeywords that match the resource keywords or the search query 116 can beselected by the content management system 110. The content managementsystem 110 can also select content items at least in part based on theresults of an auction.

FIG. 2 illustrates a block diagram of an example system 200 forproviding content to a user. The system 200 includes a search system202, a content management system 204, a campaign sponsor client device206, and user devices 208, 210, 212, and 214, connected to a network216. The content management system 204 can receive requests for contentfrom user devices 208-214, over the network 216. For example, a user 218can submit search queries while using the user device 208 while at workin San Diego. Similarly, the user 218 can submit search queries whileusing the user device 210 while at home in Oceanside. The user device210 may be the same device as the user device 208 or may be a differentdevice. Other examples include the content management system 204receiving a request for content from the user device 212 associated witha user 220 who resides in Yuma, Ariz. and receiving a request forcontent from the user device 214 (which may be the same device as theuser device 212) when the user 220 travels to San Francisco (e.g., asillustrated by a user 222).

Historical information about queries, other requests for content, usercontent interactions, and other user activities can be stored in usageinformation 224. The content management system 204 can determinetargeting information, such as targeting information that is associatedwith particular locations, such as Oceanside, Yuma, San Diego, and SanFrancisco. For example, the content management system 204 can group theusage information 224 by location (e.g., by recorded locations of usersand/or recorded location of interest information associated withreceived user requests), and for each location, the content managementsystem 204 can, for example, identify frequently used search termsentered by users who performed associated queries. Targeting informationfor a particular location can be determined based on the identifiedfrequently used search terms for that location.

A campaign sponsor 206 can use the campaign sponsor client device 226 toaccess a user interface 228 provided by the content management system204 to customize targeting information for a campaign. The userinterface 228 can include, among other controls, a user selectablecontrol 230 for specifying one or more targeting criteria. For example,the control 230 includes a control 232 which can be used to specify atargeting criterion of a presence of a user in a prescribed geographiclocation, a control 234 which can be used to specify a targetingcriterion of an interest by a user in a prescribed geographic location,and a control 236 which can be used to specify targeting criteria thatincludes both the presence of a user in a prescribed geographic locationor an interest by a user in a prescribed geographic location. Aselection can be received from the campaign sponsor 226 of one or moretargeting criteria to be associated with the campaign, including aselection of one of the controls 232, 234, or 236. An indication of thecampaign sponsor's selection can be stored in a targeting criteria datastore 238 as a presence/interest specification.

In response to a received content request for a user, it can bedetermined whether the user is present or merely interested in aparticular geographic location, and based on the determination, contentfrom the campaign can be served when a content item request satisfiesthe targeting criteria for the campaign, including satisfying the userpresence criterion and/or the interest criterion. For example, if thepresence/interest specification for the campaign sponsor 226 correspondsto targeting based on presence and if the campaign sponsor 226 hastargeted the location of San Francisco, content provided by the campaignsponsor 226 may be provided to the user device 214 when the user 222 istraveling to San Francisco, such as content items 246, 248, and 250included in content slots in a resource 252 displayed on a displaydevice 254 of the user device 214. In contrast, the content items 246,248, and 250 might not be displayed, for example, to the user 218, sincethe user 218 is not physically present in San Francisco.

Content may be provided to the user device 214 if the request forcontent matches targeting criteria other than the presence/interestspecification. For example, a search keyword, such as “attractions” or“hotels”, may match one or more targeting keywords provided by thecampaign sponsor 226. When selecting content to provide to the userdevice 214, the content management system 204 can select one or morecontent items based at least in part on targeting information associatedwith the location of San Francisco previously determined from the usageinformation 224.

As another example, if the presence/interest specification for thecampaign sponsor 226 corresponds to targeting based on interest and ifthe campaign sponsor 226 has targeted the location of San Francisco,content provided by the campaign sponsor 226 may be provided to the userdevice 210 in response to the user 218 performing a search 260 using asearch application 262 displayed on a display device 264 while the SanFrancisco area is displayed in a map viewport 266. For example, acontent item 268 provided by the campaign sponsor 226 may be provided toand displayed in the user device 210 in a content slot included in thesearch application 262. As another example, content provided by thecampaign sponsor 226 may be provided to the user device 210 in responseto the user 218 selecting a San Francisco related search result 271included in a search results list 272 or in response to the user 218performing a search that includes one or more San Francisco-relatedsearch terms.

In this example, where the presence/interest specification indicatestargeting based on interest for the campaign sponsor 226, the contentitem 268 might not be displayed to the user 218 if the user 218 performsa search query that does not include a San Francisco-related searchterm. Similarly, the content item 268 might not be displayed to the user222, even though the user 222 is in San Francisco, if the user 222performs a search query that does not include a San Francisco-relatedsearch term and does not otherwise indicate a location of interest ofSan Francisco. If the user device 214 submits a request for contentwhere the request for content does have a location of interest relatedto San Francisco, such as if the request for content is associated withthe San Francisco weather report resource 252, then the content item 268might be displayed to the user 222 (e.g., as illustrated by the contentitem 248).

The presence/interest specification can indicate exclusion criteria aswell as targeting criteria. For example, FIGS. 3A-3C illustrate examplecontrols 302-306, respectively, that may be displayed in the userinterface 228, for specifying a presence/interest specification. Thecontrol 302 is similar to the control 230, in that it includes a control307 which includes controls 308, 310, and 312, which correspond to thecontrols, 236, 232, and 234, respectively. The controls 308, 310, and312 can be displayed, for example, in response to selection of anadvanced location options control 314. As indicated by the “recommended”phrase included in the label of the control 308, an option to targetboth based on presence and on interest can be recommended to a campaignsponsor, as targeting based on presence or on interest may result infewer impressions for the campaign sponsor. For example, in someimplementations, it is recommended that the campaign sponsor select thecontrol 310 or the control 312 if the campaign sponsor has a particularreason to target based on presence or on interest, and to otherwiseselect the control 308.

In response to the campaign sponsor selecting the control 310, thecontrol 304 (e.g., as shown in FIG. 3B) can be displayed in place of thecontrol 302. The user can select a control 316 to cause the control 307to reappear. The control 304 includes a control 318, which can be usedto specify an exclusion method. For example, the control 318 includes acontrol 320 which the campaign sponsor can select to exclude based onphysical location and search interest. If the control 320 is selected,associated content provided by the campaign sponsor is not shown tousers who are physically located in an excluded location or who indicatean excluded location as a location of interest.

For example, referring again to FIG. 2, if the campaign sponsor 226 hastargeted the United States, and has excluded based on physical locationand search interest with an excluded location of California, contentprovided by the campaign sponsor 226 may be provided to the user device212 if the user 220 does not indicate a location of interest related toCalifornia in a request for content, since the user device 212 islocated within the United States but outside of California. In thisexample, content from the campaign sponsor 226 that is associated withthe excluded location is not provided to the user device 212 if the user222 indicates a location of interest of California. Also in thisexample, content from the campaign sponsor 226 that is associated withthe excluded location is not provided to the user devices 208, 210, or214, since those user devices are located in California.

Referring now to FIG. 3C, suppose the campaign sponsor has specified totarget based on search intent (e.g., as illustrated by a label 322) andhas selected a control 324 to exclude by physical location only and thatan excluded location is the state of California. In this example,referring back to FIG. 2, content provided by the campaign sponsor 226that is associated with the excluded location of California is notprovided to the user devices 208, 210, or 214, since those user devicesare located in California, even if associated requests for contentindicate a location of interest related to California. Content might beprovided to the user device 212, since the user device 212 is not inCalifornia, if the user 220 indicates a location of interest related toCalifornia.

As another example, in some implementations, the campaign sponsor 226can specify to target users who are traveling to a particular location,such as San Francisco. For example, the content management system 204can determine that the user 220 is a traveler who is currently locatedin San Francisco (e.g., as illustrated by the user 222), such as bycomparing a home location of Yuma associated with the user 220 to acurrent location of San Francisco associated with a request receivedfrom the user device 214. For example, in some implementations, a homeIP address and/or a work IP address can be associated with a user, andthe user's current location can be determined to be a home location(e.g., Oceanside for the user 218), a work location (e.g., San Diego forthe user 218), or an away (e.g., travel) location based on comparing anIP address associated with a content request to the home IP addressand/or the work IP address of the user.

In some implementations, a report 270 can be provided to the campaignsponsor 226 where the report 270 includes details for a time intervalfor content delivery (e.g., the previous month) by the contentmanagement system 204 including details of how each delivery satisfied apresence/interest specification of the campaign sponsor 226. Forexample, the report 270 includes columns 272-284 indicating, for eachdelivery, if applicable, a date, a user, a description of the requestthat resulted in the delivery, the user's location, the value of thepresence/interest specification at the time of the delivery, a targetedlocation, and an excluded location, respectively. The report 270includes details for some of the examples discussed above where contentwas delivered to the user 218, 220, or 222. The report 270 can includeother information. For example, the report 270 can indicate that the row286 is associated with an exclude by physical location and searchinterest setting and that the row 288 is associated with an exclude byphysical location only setting. As another example, the report 270 caninclude other information which indicates which content item(s) wereserved in response to each request.

In some implementations, the content management system 204 can, alongwith tracking details of how each content delivery by the contentmanagement system 204 satisfied a content sponsor's presence/interestspecification, determine performance information for each respectivecontent item for when the content item was provided based on the userbeing at a given location and when the content item was provided basedon the user being interested in but not physically present at the givenlocation. Performance information can include, for example, clickthrough rate and conversion information.

The report 270 can include the performance information and can alsoinclude one or more controls which enable the content sponsor tooptimize the campaign based on the performance information. For example,the content sponsor can select a control to split a campaign into afirst campaign with a first presence/interest specificationcorresponding to targeting users who are at a given location and asecond campaign with a second presence/interest specificationcorresponding to targeting users who have expressed an interest in agiven location. The first and second campaigns can have, for example,different associated bid amounts and other, different campaign settings.As another example of optimizing, the content sponsor can split acampaign into two or more campaigns based on performance informationassociated with multiple locations. In some implementations, the contentmanagement system 204 can perform the example optimizations describedabove automatically based on the performance information.

FIG. 4 is a flowchart of an example process 400 for serving content. Theprocess 400 can be performed, for example, by the content managementsystem 110 described above with respect to FIG. 1. As another example,the process 400 can be performed by the content management system 204described above with respect to FIG. 2.

A user interface is presented to a campaign sponsor (402) forcustomizing targeting information for a campaign, including a userselectable control for specifying one or more targeting criteria, whereat least one targeting criteria includes a presence of a user in aprescribed geographic location or an indication of an interest by a userin the prescribed geographic location. For example, with respect to FIG.2, the user interface 228, which includes the control 230 for specifyingtargeting using physical location (e.g., presence) and/or targetingusing search interest (e.g., intent), can be presented to the campaignsponsor 226.

A selection is received from the campaign sponsor of one or moretargeting criteria to be associated with the campaign, including aselection of one or both of user presence and interest (404). Forexample, the campaign sponsor 226 can select the control 232 to specifyto target using user presence, can select the control 234 to specify totarget using interest, or can select the control 236 to specify totarget using either presence or interest.

Content delivery options are evaluated for presenting content associatedwith the campaign, including determining for a given content requestwhether a user is present or merely interested in a geographic location(406). For example, the content management system 110 can determine thelocation of a user from the user's user device 106, e.g., using globalpositioning system (GPS) capabilities of the user device 106, orobtained through cell triangulation, e.g., from three or more signaltransmitters, towers or satellites that serve the user device 106. Insome implementations, the location of the user device 106 can beobtained through periodic mobile check-ins, such as positionalcheckpoints made by the mobile device at regular intervals, or from auser's check-in at an establishment using, for example, a socialapplication. As another example, the location of the user can bedetermined by geocoding an IP address of a client device (e.g., the userdevice 214) that submitted the content item request.

Whether a user is interested in the geographic location can bedetermined based on whether a location of interest is included in orassociated with the content item request. For example, the user caninclude one or more location-related search terms (e.g., city names,state names, street names, ZIP codes, landmark names, etc.) in a searchquery. As another example, a location of interest can be determined fromgeographic information displayed in, or related to, a map viewport(e.g., the San Francisco area displayed in the map viewport 266). Insome implementations, the location of interest can be inferred, forexample, from the center-point coordinates of the map's viewport or froma destination included in driving directions provided by the mapapplication.

Content from the campaign is served when a content item requestsatisfies the targeting criteria for the campaign (408). For example, ifthe targeting criteria indicates that the campaign sponsor desires totarget users who are present at one or more particular locations and ifthe content management system 110 determines that the user is located atone of the particular locations, the content management system 110 canserve content to the user. For example, the content management system204 can serve the content item 248 to the user device 214 based ondetermining that the campaign sponsor 226 has previously selected thecontrol 232 and has targeted San Francisco and that the user 222 islocated in San Francisco.

As another example, the content management system 110 can serve contentif the targeting criteria indicates that the campaign sponsor desires totarget users who have expressed interest in one or more particularlocations and the content management system 110 determines that the userhas expressed an interest in one or more of the particular locations.For example, the content management system 204 can serve the contentitem 268 to the user device 210 based on determining that the campaignsponsor 226 has previously selected the control 234 and has targeted SanFrancisco and that the user 218 has performed the search query 260 whilethe map viewport 266 displays the San Francisco area.

FIG. 5 is a flowchart of an example process 500 for providing content toa user. The process 500 can be performed, for example, by the contentmanagement system 110 described above with respect to FIG. 1. As anotherexample, the process 500 can be performed by the content managementsystem 204 described above with respect to FIG. 2.

A content item sponsor is enabled to target content to users based onwhether a content item request is associated with a user at a particularlocation or is associated with a user that has expressed an interest inthe particular location (502), including enabling a content sponsor toexclude presentation of their content for at least one of these types ofrequests, where enabling includes receiving a presence/interestspecification from the content item sponsor for a campaign. For example,the content item sponsor can be presented with a user interface thatincludes the controls 302 or 304. The control 302 enables the contentitem sponsor to target content to users based on whether a content itemrequest is associated with a user at a particular location or isassociated with a user that has expressed an interest in the particularlocation. The control 304 enables the content item sponsor to specifyexclusion criteria based on whether a user is at a location or whether auser has expressed interest in a location.

A received content item request is evaluated to determine a likelihoodthat the user is at a given location (504). For example, as describedabove, a user's location can be determined based on an IP addressassociated with the request, or based on location based services (e.g.,GPS, cell triangulation). The likelihood can be expressed in terms of aprobability.

The received content item request is evaluated to determine a likelihoodthat the user is merely interested in the given location but is notphysically present at the given location (506). For example, it can bedetermined that the user is not physically present at the given locationby comparing the user's current location to the given location (e.g., ifthe distance between the user's current location and the given locationis more than a threshold, it can be determined that the user is notphysically present at the given location). Whether the user isinterested in the given location can be determined if the user hasexpressed an interest in the given location, such as by one or morelocation-related search terms, or other location-related information,such as the display of the given location in a map application. Thelikelihood can be expressed in terms of a probability.

Content from a content sponsor is provided in response to the receivedcontent item request only if targeting criteria for the campaign matchthe request including satisfying a presence/interest specification froma respective content item sponsor for the campaign (508). For example,content can be served if the presence/interest specification indicatesthat the content item sponsor desires to target based on presence of theuser and if the likelihood that the user is at the given location isgreater than a first threshold. As another example, content can beserved if the presence/interest specification indicates that the contentitem sponsor desires to target based on interest of the user and if thelikelihood that the user is interested in the given location is greaterthan a second threshold.

FIG. 6 is a block diagram of computing devices 600, 650 that may be usedto implement the systems and methods described in this document, aseither a client or as a server or plurality of servers. Computing device600 is intended to represent various forms of digital computers, such aslaptops, desktops, workstations, personal digital assistants, servers,blade servers, mainframes, and other appropriate computers. Computingdevice 650 is intended to represent various forms of mobile devices,such as personal digital assistants, cellular telephones, smartphones,and other similar computing devices. The components shown here, theirconnections and relationships, and their functions, are meant to beexemplary only, and are not meant to limit implementations of theinventions described and/or claimed in this document.

Computing device 600 includes a processor 602, memory 604, a storagedevice 606, a high-speed interface 608 connecting to memory 604 andhigh-speed expansion ports 610, and a low speed interface 612 connectingto low speed bus 614 and storage device 606. Each of the components 602,604, 606, 608, 610, and 612, are interconnected using various busses,and may be mounted on a common motherboard or in other manners asappropriate. The processor 602 can process instructions for executionwithin the computing device 600, including instructions stored in thememory 604 or on the storage device 606 to display graphical informationfor a GUI on an external input/output device, such as display 616coupled to high speed interface 608. In other implementations, multipleprocessors and/or multiple buses may be used, as appropriate, along withmultiple memories and types of memory. Also, multiple computing devices600 may be connected, with each device providing portions of thenecessary operations (e.g., as a server bank, a group of blade servers,or a multi-processor system).

The memory 604 stores information within the computing device 600. Inone implementation, the memory 604 is a computer-readable medium. In oneimplementation, the memory 604 is a volatile memory unit or units. Inanother implementation, the memory 604 is a non-volatile memory unit orunits.

The storage device 606 is capable of providing mass storage for thecomputing device 600. In one implementation, the storage device 606 is acomputer-readable medium. In various different implementations, thestorage device 606 may be a floppy disk device, a hard disk device, anoptical disk device, or a tape device, a flash memory or other similarsolid state memory device, or an array of devices, including devices ina storage area network or other configurations. In one implementation, acomputer program product is tangibly embodied in an information carrier.The computer program product contains instructions that, when executed,perform one or more methods, such as those described above. Theinformation carrier is a computer- or machine-readable medium, such asthe memory 604, the storage device 606, or memory on processor 602.

The high speed controller 608 manages bandwidth-intensive operations forthe computing device 600, while the low speed controller 612 manageslower bandwidth-intensive operations. Such allocation of duties isexemplary only. In one implementation, the high-speed controller 608 iscoupled to memory 604, display 616 (e.g., through a graphics processoror accelerator), and to high-speed expansion ports 610, which may acceptvarious expansion cards (not shown). In the implementation, low-speedcontroller 612 is coupled to storage device 606 and low-speed expansionport 614. The low-speed expansion port, which may include variouscommunication ports (e.g., USB, Bluetooth, Ethernet, wireless Ethernet)may be coupled to one or more input/output devices, such as a keyboard,a pointing device, a scanner, or a networking device such as a switch orrouter, e.g., through a network adapter.

The computing device 600 may be implemented in a number of differentforms, as shown in the figure. For example, it may be implemented as astandard server 620, or multiple times in a group of such servers. Itmay also be implemented as part of a rack server system 624. Inaddition, it may be implemented in a personal computer such as a laptopcomputer 622. Alternatively, components from computing device 600 may becombined with other components in a mobile device (not shown), such asdevice 650. Each of such devices may contain one or more of computingdevice 600, 650, and an entire system may be made up of multiplecomputing devices 600, 650 communicating with each other.

Computing device 650 includes a processor 652, memory 664, aninput/output device such as a display 654, a communication interface666, and a transceiver 668, among other components. The device 650 mayalso be provided with a storage device, such as a microdrive or otherdevice, to provide additional storage. Each of the components 650, 652,664, 654, 666, and 668, are interconnected using various buses, andseveral of the components may be mounted on a common motherboard or inother manners as appropriate.

The processor 652 can process instructions for execution within thecomputing device 650, including instructions stored in the memory 664.The processor may also include separate analog and digital processors.The processor may provide, for example, for coordination of the othercomponents of the device 650, such as control of user interfaces,applications run by device 650, and wireless communication by device650.

Processor 652 may communicate with a user through control interface 658and display interface 656 coupled to a display 654. The display 654 maybe, for example, a TFT LCD display or an OLED display, or otherappropriate display technology. The display interface 656 may compriseappropriate circuitry for driving the display 654 to present graphicaland other information to a user. The control interface 658 may receivecommands from a user and convert them for submission to the processor652. In addition, an external interface 662 may be provide incommunication with processor 652, so as to enable near areacommunication of device 650 with other devices. External interface 662may provide, for example, for wired communication (e.g., via a dockingprocedure) or for wireless communication (e.g., via Bluetooth or othersuch technologies).

The memory 664 stores information within the computing device 650. Inone implementation, the memory 664 is a computer-readable medium. In oneimplementation, the memory 664 is a volatile memory unit or units. Inanother implementation, the memory 664 is a non-volatile memory unit orunits. Expansion memory 674 may also be provided and connected to device650 through expansion interface 672, which may include, for example, aSIMM card interface. Such expansion memory 674 may provide extra storagespace for device 650, or may also store applications or otherinformation for device 650. Specifically, expansion memory 674 mayinclude instructions to carry out or supplement the processes describedabove, and may include secure information also. Thus, for example,expansion memory 674 may be provide as a security module for device 650,and may be programmed with instructions that permit secure use of device650. In addition, secure applications may be provided via the SIMMcards, along with additional information, such as placing identifyinginformation on the SIMM card in a non-hackable manner.

The memory may include for example, flash memory and/or MRAM memory, asdiscussed below. In one implementation, a computer program product istangibly embodied in an information carrier. The computer programproduct contains instructions that, when executed, perform one or moremethods, such as those described above. The information carrier is acomputer- or machine-readable medium, such as the memory 664, expansionmemory 674, or memory on processor 652.

Device 650 may communicate wirelessly through communication interface666, which may include digital signal processing circuitry wherenecessary. Communication interface 666 may provide for communicationsunder various modes or protocols, such as GSM voice calls, SMS, EMS, orMMS messaging, CDMA, TDMA, PDC, WCDMA, CDMA2000, or GPRS, among others.Such communication may occur, for example, through radio-frequencytransceiver 668. In addition, short-range communication may occur, suchas using a Bluetooth, WiFi, or other such transceiver (not shown). Inaddition, GPS receiver module 670 may provide additional wireless datato device 650, which may be used as appropriate by applications runningon device 650.

Device 650 may also communication audibly using audio codec 660, whichmay receive spoken information from a user and convert it to usabledigital information. Audio codex 660 may likewise generate audible soundfor a user, such as through a speaker, e.g., in a handset of device 650.Such sound may include sound from voice telephone calls, may includerecorded sound (e.g., voice messages, music files, etc.) and may alsoinclude sound generated by applications operating on device 650.

The computing device 650 may be implemented in a number of differentforms, as shown in the figure. For example, it may be implemented as acellular telephone 680. It may also be implemented as part of asmartphone 682, personal digital assistant, or other similar mobiledevice.

Various implementations of the systems and techniques described here canbe realized in digital electronic circuitry, integrated circuitry,specially designed ASICs (application specific integrated circuits),computer hardware, firmware, software, and/or combinations thereof.These various implementations can include implementation in one or morecomputer programs that are executable and/or interpretable on aprogrammable system including at least one programmable processor, whichmay be special or general purpose, coupled to receive data andinstructions from, and to transmit data and instructions to, a storagesystem, at least one input device, and at least one output device.

These computer programs (also known as programs, software, softwareapplications or code) include machine instructions for a programmableprocessor, and can be implemented in a high-level procedural and/orobject-oriented programming language, and/or in assembly/machinelanguage. As used herein, the terms “machine-readable medium”“computer-readable medium” refers to any computer program product,apparatus and/or device (e.g., magnetic discs, optical disks, memory,Programmable Logic Devices (PLDs)) used to provide machine instructionsand/or data to a programmable processor, including a machine-readablemedium that receives machine instructions as a machine-readable signal.The term “machine-readable signal” refers to any signal used to providemachine instructions and/or data to a programmable processor.

To provide for interaction with a user, the systems and techniquesdescribed here can be implemented on a computer having a display device(e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor)for displaying information to the user and a keyboard and a pointingdevice (e.g., a mouse or a trackball) by which the user can provideinput to the computer. Other kinds of devices can be used to provide forinteraction with a user as well; for example, feedback provided to theuser can be any form of sensory feedback (e.g., visual feedback,auditory feedback, or tactile feedback); and input from the user can bereceived in any form, including acoustic, speech, or tactile input.

The systems and techniques described here can be implemented in acomputing system that includes a back-end component (e.g., as a dataserver), or that includes a middleware component (e.g., an applicationserver), or that includes a front-end component (e.g., a client computerhaving a graphical user interface or a Web browser through which a usercan interact with an implementation of the systems and techniquesdescribed here), or any combination of such back-end, middleware, orfront-end components. The components of the system can be interconnectedby any form or medium of digital data communication (e.g., acommunication network). Examples of communication networks include alocal area network (“LAN”), a wide area network (“WAN”), and theInternet.

The computing system can include clients and servers. A client andserver are generally remote from each other and typically interactthrough a communication network. The relationship of client and serverarises by virtue of computer programs running on the respectivecomputers and having a client-server relationship to each other.

A number of embodiments of the invention have been described.Nevertheless, it will be understood that various modifications may bemade without departing from the spirit and scope of the invention. Forexample, various forms of the flows shown above may be used, with stepsre-ordered, added, or removed. Also, although several applications ofthe payment systems and methods have been described, it should berecognized that numerous other applications are contemplated.Accordingly, other embodiments are within the scope of the followingclaims.

The invention claimed is:
 1. A method comprising: presenting, using oneor more computing devices, a user interface to a campaign sponsor forcustomizing selection criteria for a campaign including a userselectable control for specifying one or more criteria, where at leastone criterion includes a presence of a user in a prescribed geographiclocation or an indication of an interest by a user in the prescribedgeographic location; receiving, using the one or more computing devices,a selection from the campaign sponsor of one or more criteria to beassociated with the campaign including a selection of one of userpresence or interest; determining, using the one or more computingdevices, for a given content request whether a user is present or merelyinterested in a geographic location; and serving, using the one or morecomputing devices, content from the campaign when a content item requestsatisfies the criteria for the campaign.
 2. The method of claim 1 wheredetermining whether a user is present or merely interested in thegeographic location includes evaluating one or more user signals.
 3. Themethod of claim 2 where the user signals include one or more of an IPaddress of a client device that submitted the content item request, alocation-based signal available to the client device, one or morelocation-related terms associated with the content item request, a timethat the content item request was submitted, a mode of the user, wherethe mode is selected from at work, home, or away, or locationinformation describing a location that was presented in a mapapplication viewport on the client device at the time the content itemrequest was submitted.
 4. A method comprising: enabling a content itemsponsor to present content to users based on whether a content itemrequest is associated with a user at a particular location or isassociated with a user that has expressed an interest in the particularlocation, including enabling a content sponsor to exclude presentationof their content for at least one of these types of requests, whereenabling includes receiving a presence/interest specification from thecontent item sponsor for a campaign; evaluating the received contentitem request to determine a likelihood that the user is merelyinterested in the given location but is not physically present at thegiven location; and providing content from a content sponsor in responseto the received content item request only if selection criteria for thecampaign match the request including satisfying a presence/interestspecification from a respective content item sponsor for the campaign.5. The method of claim 4 where evaluating a received content itemrequest includes determining a geographic location associated with therequest.
 6. The method of claim 5 where determining the geographiclocation is based on location based services.
 7. The method of claim 5where determining the geographic location is based on an IP (InternetProtocol) address associated with the request.
 8. The method of claim 4where the likelihood is expressed in terms of a probability, and wherethe probability is above a first threshold.
 9. The method of claim 4further comprising tracking details of how each content delivery by acontent delivery service satisfied the content sponsor'spresence/interest specification.
 10. The method of claim 9 furthercomprising, for each delivered content item, determining performanceinformation for a respective content item for when the content item wasprovided based on the user being at a given location and when thecontent item was provided based on the user being interested in but notphysically present at the given location.
 11. The method of claim 10where performance information includes click through rate and conversioninformation.
 12. The method of claim 10 further comprising providing tothe content sponsor a report that includes the tracked details and theperformance information for a time interval.
 13. The method of claim 12where the report includes one or more controls which enable the contentsponsor to optimize the campaign based on the performance information.14. The method of claim 10 further comprising automatically optimizingthe campaign based on the performance information.
 15. The method ofclaim 14 where optimizing includes splitting the campaign into a firstcampaign with a first presence/interest specification corresponding tousers who are at a given location and a second campaign with a secondpresence/interest specification corresponding to users who haveexpressed an interest in a given location.
 16. The method of claim 15where a first bid associated with the first campaign is different than asecond bid associated with the second campaign.
 17. The method of claim15 where optimizing includes splitting a campaign into multiplecampaigns based on location information.
 18. A computer program producttangibly embodied in a computer-readable storage device and comprisinginstructions that, when executed by a processor, cause the processor to:present a user interface to a campaign sponsor for customizing selectioncriteria for a campaign including a user selectable control forspecifying one or more criteria, where at least one criterion includes apresence of a user in a prescribed geographic location or an indicationof an interest by a user in the prescribed geographic location; receivea selection from the campaign sponsor of one or more criteria to beassociated with the campaign including a selection of one of userpresence or interest; determine for a given content request whether auser is present or merely interested in a geographic location; and servecontent from the campaign when a content item request satisfies thecriteria for the campaign.
 19. The computer program product of claim 18where determining whether a user is present or merely interested in thegeographic location includes evaluating one or more user signals. 20.The computer program product of claim 19 where the user signals includeone or more of an IP address of a client device that submitted thecontent item request, a location-based signal available to the clientdevice, one or more location-related terms associated with the contentitem request, a time that the content item request was submitted, a modeof the user, where the mode is selected from at work, home, or away, orlocation information describing a location that was presented in a mapapplication viewport on the client device at the time the content itemrequest was submitted.
 21. The computer program product of claim 18where evaluating content delivery options includes receiving a requestand evaluating whether the request is associated with a user at alocation or merely interested in the location.
 22. The computer programproduct of claim 18 where evaluating content delivery options includesevaluating a received content item request including determining ageographic location associated with the request.
 23. The computerprogram product of claim 22 where determining the geographic location isbased on location based services.
 24. The computer program product ofclaim 22 where determining the geographic location is based on an IP(Internet Protocol) address associated with the request.
 25. Thecomputer program product of claim 18 where evaluating content deliveryoptions includes determining a likelihood that a user is at a givenlocation in terms of a probability, and where the probability is above afirst threshold.
 26. The computer program product of claim 18 whereevaluating content delivery options includes determining a likelihoodthat a user is merely interested in a given location in terms of aprobability, and where the probability is above a second threshold. 27.A system comprising: a processor; and a computer readable medium havinginstructions thereon that, when executed by the processor, provide acontent delivery system and a campaign management user interface,wherein: the campaign management user interface includes a userselectable control for specifying one or more selection criteria, whereat least one criterion includes a presence of a user in a prescribedgeographic location or an indication of an interest by a user in theprescribed geographic location, the campaign management user interfaceconfigured to receive a selection from a campaign sponsor of one or moreselection criteria to be associated with the campaign including aselection of one of user presence or interest; and the content deliverysystem is configured to: evaluate content delivery options forpresenting content associated with the campaign including determiningfor a given content request whether a user is present or merelyinterested in a geographic location; and serve content from the campaignwhen a content item request satisfies the targeting criteria for thecampaign.
 28. The system of claim 27 where determining whether a user ispresent or merely interested in the geographic location includesevaluating one or more user signals.
 29. The system of claim 28 wherethe user signals include one or more of an IP address of a client devicethat submitted the content item request, a location-based signalavailable to the client device, one or more location-related termsassociated with the content item request, a time that the content itemrequest was submitted, a mode of the user, where the mode is selectedfrom at work, home, or away, or location information describing alocation that was presented in a map application viewport on the clientdevice at the time the content item request was submitted.